#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>



//法一：通过getenv()函数获取单个环境变量
void test01(){
    printf("法一：\n");
    char* path = getenv("PATH");
    if(path != NULL){
        printf("路径设置为%s\n",path);
    }
    else{
        printf("路径未设置\n");
    }
    char* user = getenv("USER");
    if(path != NULL){
        printf("用户为为%s\n",path);
    }
    else{
        printf("用户未设置\n");
    }
}
//法二：访问全局变量environ获取全部的环境变量
extern char** environ;//声明变量
void test02(){
    printf("\n法二：\n");
    for(char **env = environ;*env!=NULL;env++){
        printf("%s\n",*env);
    }
}


//法三：通过父进程获取
int main(int argc,char* argv[],char* env[]){
                  
    (void)argc;
    (void)argv;
    test01();
    test02();
    printf("\n法三：\n");
    for(int i = 0;env[i];i++){
        printf("env[%d]->%s\n",i,env[i]);
    }
    return 0;
}
